//package ScalaForTheImpatient.chapter8
//
///**
// * @Author TheKernel
// * @Date 2019/10/4 4:48 下午
// * @Version 1.0
// * @Description 继承
// * 重写方法必须用 override
// * 只有主构造器可以调用超类构造器
// * 可以重写字段
// */
//object Main {
//
//  def main(args: Array[String]): Unit = {
//    // Scala - final 用于父类，表示不可被重写
//    val p = new Person("TheKernel", 20)
//    p match {
//      // 转换为子类的引用
//      case s: Employee => // Employee及其子类 -> true, null -> false, 错误的话则抛出异常
//      case _ =>
//    }
//    if (p.getClass == classOf[Employee]) {  // 指定Employee类型(非子类)
//      val s = p.asInstanceOf[Employee]
//    }
//
//    // def 只能重写另一个 def
//    // val 只能重写另一个 val 或 无参 def
//    // var 只能重写抽象 var
//  }
//
//}
